package com.qf;

import com.qf.pojo.User;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.context.ConfigurableApplicationContext;

/**
 * 引导类（起步类）
 *
 *
 *  @ComponentScan: 包扫描， 扫描组件
 *  <context:component-scan></context:component-scan>
 *
 *  @EnableAutoConfiguration: 开启自动配置
 *      自动配置：引入springboot 的起步依赖后，会自动帮助我们创建某些对象
 *      @Import(AutoConfigurationImportSelector.class)：导入了需要自动配置的 类 全名称
 *      public String[] selectImports: 该方法返回值内容，就是需要自动配置的类全名称
 *      SpringFactoriesLoader.loadFactoryNames: spring工厂载入对象
 *      FACTORIES_RESOURCE_LOCATION = "META-INF/spring.factories": 就是 需要自动配置的 类全名称  的 资源文件
 * @author 千锋教育
 * @Company http://www.mobiletrain.org/
 * @Version 1.0
 */
@SpringBootApplication
public class SpringBootHelloWorld {

    public static void main(String[] args) {
        ConfigurableApplicationContext ac = SpringApplication.run(SpringBootHelloWorld.class, args);

//        Person person = ac.getBean(Person.class);
//        System.out.println(person);

        User user = ac.getBean(User.class);
        System.out.println(user);

    }
}
